package com.letao.server.utils;

import com.letao.server.dto.UserInfoDTO;

/**
 * 线程级用户信息保存工具类
 */
public class UserHolderUtils {
    private static final ThreadLocal<UserInfoDTO> tl = new ThreadLocal<>();

    /**
     * 向线程本地存储提交用户信息
     *
     * @param user 提交的用户信息
     */
    public static void saveUser(UserInfoDTO user) {
        tl.set(user);
    }

    /**
     * 用线程本地存储获取用户信息
     *
     * @return 需要的用户信息
     */
    public static UserInfoDTO getUser() {
        return tl.get();
    }

    /**
     * 从线程本地存储移除用户
     */
    public static void removeUser() {
        tl.remove();
    }
}

